sql语句中定义表结构的命令
表结构的定义是指创建一个含有指定字段的表。所有的数据操作(增加、修改、删除、查询)以及约束、索引等概念都要依附于数据表而存在,而数据表也可以理解为对现实或者是业务的抽象结果。SQL通过CREATE TABLE命令建立表。
具体格式如下:
CREATE TABLE |DBF 〈表名1〉 [NAME 〈长表名〉 ][FREE](
〈字段名1〉 〈类型〉 [ (〈字段宽度〉 [, 〈小数位数〉 ]) ]
[NULL | NOT NULL]
[CHECK 〈逻辑表达式1〉 [ERROR 〈字符型文本信息1〉 ]]
[DEFAULT 〈表达式1〉 ]
[PRIMARY KEY | UNIQUE]
[REFERENCES 〈表名2〉 [TAG 〈标识名1〉 ]]
[NOCPTRANS][,〈字段名2〉 …]
[,PRIMARY KEY 〈表达式2〉 TAG 〈标识名2〉
|,UNIQUE 〈表达式3〉 TAG 〈标识3〉]
[,FOREIGN KEY 〈表达式4〉 TAG 〈标识名4〉 [NODUP]
REFERENCES 〈表名3〉 [TAG 〈标识名5〉 ]]
[,CHECK 〈逻辑表达式2〉 [ERROR 〈字符型文本信息2〉] ]
)
|FROM ARRAY 〈数组名〉
说明:
(1)TABLE和DBF选项等价,都是建立表文件。
(2)〈表名〉:为新建表指定表名。
(3) NAME〈长表名〉:为新建表指定一个长表名。只有打开数据库,在数据库中创建表时,才能指定一个长表名。长表名最多可以包含128个字符。
(4)FREE:建立的表是自由表,不加入到打开的数据库中。当没有打开数据库时,建立的表都是自由表。
(5) 〈字段名1〉〈类型〉[ (〈字段宽度〉[,〈小数位数〉] ) ]:指定字段名、字段类型、字段宽度及小数位数。字段类型可以用一个字符表示。
(6)NULL:允许该字段值为空;NOT NULL:该字段值不能为空。缺省值为NOT NULL。
(7)CHECK〈逻辑表达式1〉:指定该字段的合法值及该字段值的约束条件。
(8)ERROR〈字符型文本信息1〉:指定在浏览或编辑窗口中该字段输入的值不符合CHECK子句的合法值时,VFP显示的错误信息。
(9)DEFAULT〈表达式〉:为该字段指定一个缺省值,表达式的数据类型与该字段的数据类型要一致。即每添加一条记录时,该字段自动取该缺省值。
(10)PRIMARY KEY:为该字段创建一个主索引,索引标识名与字段名相同。主索引字段值必须惟一。UNIQUE:为该字段创建一个候选索引,索引标识名与字段名相同。
(11)REFERENCES 〈表名〉 [TAG 〈标识名〉 ]:指定建立持久关系的父表,同时以该字段为索引关键字建立外索引,用该字段名作为索引标识名。表名为父表表名,标识名为父表中的索引标识名。如果省略索引标识名,则用父表的主索引关键字建立关系,否则不能省略。如果指定了索引标识名,则在父表中存在索引标识字段上建立关系。父表不能是自由表。
(12)CHECK 〈逻辑表达式2〉[ERROR 〈字符型文本信息2〉 ]:由逻辑表达式指定表的合法值。不合法时,显示由字符型文本信息指定的错误信息。该信息只有在浏览或编辑窗口中修改数据时显示。
(13)FROM ARRAY 〈数组名〉:由数组创建表结构。数组名指定的数组包含表的每一个字段的字段名、字段类型、字段宽度及小数位数。